package com.winner.data.service;

import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CountDownLatch;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.winner.data.entity.User;
import com.winner.data.entity.request.UserImport;
import com.winner.data.entity.vo.UserVo;

/**
 * 服务类
 *
 * @author wangxinle5
 * @since 2021-07-19
 */
public interface UserService extends IService<User> {

    void processPageByOffset();

    Page<UserVo> getByPage(Integer pageNum, Integer pageSize);

    void executeAsyncTask(int i, CountDownLatch countDownLatch) throws InterruptedException;

    CompletableFuture<String> pullDataA() throws InterruptedException;

    CompletableFuture<String> pullDataB() throws InterruptedException;

    CompletableFuture<String> pullDataC() throws InterruptedException;

    List<User> match();

    void saveImportData(List<UserImport> list);

    List<User> getByList(List<User> list);

    void processPageByPageNum();

}
